﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace FPSO.HMI.Pipe
{
    public abstract class IPipeElement
    {
        internal IPipeElement()
        {
            this.Flag = false;
        }

        internal void Reset()
        {
            Flag = false;
            ResetState();
        }

        internal void ResetFlag()
        {
            this.Flag = false;
        }

        public abstract void ResetState();
        public abstract void SetInPort(IPipeElement element);
        public abstract void SetOutPort(IPipeElement element);

        public abstract void UpdateUI();

        internal bool Flag { get; set; }
    }
}
